//
// File: textcomp.h
// Description: Text component (abtract)
// Author: Adam Damiano
// Author: Leaf Corcoran
//

#ifndef TEXTCOMP_H
#define TEXTCOMP_H

#include <iostream>
#include "guiconstants.h"
#include "component.h"
using namespace std;

class TextComponent : public Component {
protected:
	int cursor;
	int highlight;
	int scroll;
	int widthInPixels; // this is of the current line, determined by the letters' advance.x
	int totalWidth; // in pixels, this includes invisible portions
	string buffer;
	
public:
	
	static string symbols; // the non-character symbols, like numbers
	static string shiftSymbols; // the symbols those correspond to when shift is held... '1' -> '!', 2 -> '@', etc.

	TextComponent( Component* parent );
	virtual void update() {}
	virtual void draw() {}
	virtual string getText() { return buffer; }


};

#endif
